Crate tempfile [−] [src]
Securely create and manage temporary files. Temporary files created by this create are automatically deleted.
This crate provides two temporary file variants: a tempfile()
function that returns standard
File
objects and NamedTempFile
. When choosing between the variants, prefer tempfile()
unless you either need to know the file's path or to be able to persist it.
Example
use tempfile::tempfile; use std::fs::File; let mut file: File = tempfile().expect("failed to create temporary file");
Differences
Resource Leaking
tempfile()
will (almost) never fail to cleanup temporary files but NamedTempFile
will if
its destructor doesn't run. This is because tempfile()
relies on the OS to cleanup the
underlying file so the file while NamedTempFile
relies on its destructor to do so.
Security
In the presence of pathological temporary file cleaner, relying on file paths is unsafe because a temporary file cleaner could delete the temporary file which an attacker could then replace.
tempfile()
doesn't rely on file paths so this isn't an issue. However, NamedTempFile
does
rely on file paths.
Structs
NamedTempFile |
A named temporary file. |
NamedTempFileOptions |
Create a new temporary file with custom parameters. |
PersistError |
Error returned when persisting a temporary file fails |
Functions
tempfile |
Create an unnamed temporary file. |
tempfile_in |
Create an unnamed temporary file in the specified directory. |